package org.jeecg.modules.supplier.service;

import org.jeecg.common.system.base.service.JeecgService;
import org.jeecg.modules.supplier.entity.ProcUserSupplierRelation;
import org.jeecg.modules.supplier.entity.Supplier;

import java.util.List;

/**
 * @Description: 用户供应商关联表
 * @Author:
 * @Date: 2024-05-29
 * @Version: V1.0
 */
public interface IProcUserSupplierRelationService extends JeecgService<ProcUserSupplierRelation> {

    /**
     * 根据用户ID查询对应的用户名
     * @param userId 用户ID
     * @return 用户名，如果未找到返回空字符串
     */
    String getUsernameByUserId(String userId);

    /**
     * 根据搜索关键字模糊查询关联关系
     * 支持user_id、username、supplier_id的模糊匹配
     * @param searchKey 搜索关键字
     * @return 匹配的关联关系对象，若未找到则返回null
     */
    ProcUserSupplierRelation getRelationBySearchKey(String searchKey);

    /**
     * 获取管理员供应商列表
     * @return 供应商ID列表
     */
    List<String> getAdminSupplierList();

    boolean setAdminSupplier(String userId);
    /**
     * 获取未关联供应商列表，支持模糊查询
     * @param companyName 公司名称
     * @param creditCode 信用代码
     * @param contactPerson 联系人
     * @param contactPhone 联系电话
     * @return 未关联供应商列表
     */
    List<Supplier> getUnrelatedSuppliers(String companyName);

}
